package com.hlkj.pay.vo.merchant.resp.agent;

import java.math.BigDecimal;

import com.hlkj.pay.vo.merchant.resp.info.MerchantConfigResp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
* 代理信息表
* @TableName t_merchant_info
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class AgentInfoDetailResp extends MerchantConfigResp {

    /**
    * 是否禁用：0-否；1-是；
    */
    @Schema(description = "是否禁用：0-否；1-是；")
    private Integer status;
    /**
    * 代理类型，1=个人，2=企业
    */
    @Schema(description = "代理类型，1=个人，2=企业")
    private Integer type;
    /**
    * 代理名称或者企业全称
    */
    @Schema(description = "代理名称或者企业全称")
    private String name;
    /**
    * 营业执照号码
    */
    @Schema(description = "营业执照号码")
    private String license;
    /**
    * 代理初始登陆账号
    */
    @Schema(description = "代理初始登陆账号")
    private String account;
    /**
    * 代理简称或者企业简称
    */
    @Schema(description = "代理简称或者企业简称")
    private String shortName;
    /**
    * 法人姓名
    */
    @Schema(description = "法人姓名")
    private String legalName;
    /**
    * 法人身份证号码
    */
    @Schema(description = "法人身份证号码")
    private String legalIdNum;
    /**
    * 法人手机号码
    */
    @Schema(description = "法人手机号码")
    private String legalPhone;
    /**
    * 法人地址
    */
    @Schema(description = "法人地址")
    private String legalAddress;
    /**
    * 分润规则，1=平台手续费分润，2=间联机构分润，3=机构与平台手续费同时分润
    */
    @Schema(description = "分润规则，1=平台手续费分润，2=间联机构分润，3=机构与平台手续费同时分润")
    private Integer profitSharingRule;
    /**
    * 备注
    */
    @Schema(description = "备注")
    private String note;
    /**
    * 营业执照照片
    */
    @Schema(description = "营业执照照片")
    private String licensePhoto;
    /**
    * 身份证正面
    */
    @Schema(description = "身份证正面")
    private String legalIdCardFront;
    /**
    * 身份证反面
    */
    @Schema(description = "身份证反面")
    private String legalIdCardBack;
    /**
    * 代理代理号
    */
    @Schema(description = "代理代理号")
    private String sn;
    /**
    * 注册渠道，1=运营平台注册，2=自行注册，3=机构注册
    */
    @Schema(description = "注册渠道，1=运营平台注册，2=自行注册，3=机构注册")
    private Integer registerChannel;
    /**
    * 上级机构
    */
    @Schema(description = "上级机构")
    private String superAgent;
    /**
    * 代理状态，1=待补充资料，2=待审核，3=待签约，4=签约中，5=签约成功，0=审核驳回
    */
    @Schema(description = "代理状态，1=待补充资料，2=待审核，3=待签约，4=签约中，5=签约成功，0=审核驳回")
    private Integer signStatus;
    /**
    * 签约流程ID
    */
    @Schema(description = "签约流程ID")
    private String signFlowId;
    /**
    * 拒签理由
    */
    @Schema(description = "拒签理由")
    private String message;
    /**
    * 交易是否关闭，0=关闭，1=开启
    */
    @Schema(description = "交易是否关闭，0=关闭，1=开启")
    private Integer apiStatus;
    /**
    * 代理余额
    */
    @Schema(description = "代理余额")
    private BigDecimal merchBalance;
    /**
    * 冻结金额
    */
    @Schema(description = "冻结金额")
    private BigDecimal frozenAmount;
    /**
    * 分润金额
    */
    @Schema(description = "分润金额")
    private BigDecimal profitAmount;
    /**
    * 分润金额
    */
    @Schema(description = "在途金额")
    private BigDecimal transitAmount;
    
    /**
    * 技术服务费
    */
    @Schema(description = "技术服务费")
    private BigDecimal tsFee;
    /**
    * 平台手续费费率底价
    */
    @Schema(description = "平台手续费费率底价")
    private BigDecimal commRateBase;
    /**
     * 发展下级代理权限 0 关闭 1 开启
     */
    @Schema(description = "发展下级代理权限 0 关闭 1 开启")
    private Integer lowerAgentStatus;
    /**
     * 发展下级商户权限 0 关闭 1 开启
     */
    @Schema(description = "发展下级商户权限 0 关闭 1 开启")
    private Integer lowerMerchantStatus;

    /**
     * 余额是否拦截，1拦截，0不拦截
     */
    @Schema(description = "余额是否拦截，1拦截，0不拦截")
    private Integer blockBal;

    /**
     * 分润比例
     */
    @Schema(description = "分润比例")
    private BigDecimal profitRate;
    /**
     * 是否发送开通提醒 0 否 1 是
     */
    @Schema(description = "是否发送开通提醒 0 否 1 是")
    private Integer openStatus;
    /**
     * 密码设置 0 随机密码 1 自定义密码
     */
    @Schema(description = "密码设置 0 随机密码 1 自定义密码")
    private Integer passwordType;
    /**
     * 自定义密码
     */
    @Schema(description = "自定义密码")
    private String password;
    /**
     * 结算卡正面or 对公开户证明
     */
    @Schema(description = "结算卡正面or 对公开户证明")
    private String settleCardFrontUrl;
    /**
     * 结算卡账号类型 0：对公账户 1：对私账户
     */
    @Schema(description = "结算卡账号类型 0：对公账户 1：对私账户 ")
    private Integer accountType;
    /**
     * 结算卡号
     */
    @Schema(description = "结算卡号")
    private String cardNo;
    /**
     * 结算银行名称
     */
    @Schema(description = "结算银行名称")
    private String bankName;
    /**
     * 结算银行支行
     */
    @Schema(description = "结算银行支行")
    private String branchName;
    /**
     * 结算银行联行号
     */
    @Schema(description = "结算银行联行号")
    private String branchCode;
    /**
     * 结算银行开户省市
     */
    @Schema(description = "结算银行开户省市")
    private String bankAreaName;
}
